亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ch04.htm

?? 21精通SQL
?? HTM
?? 第 1 頁 / 共 5 頁
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>

<HEAD>
	
	<TITLE>Teach Yourself SQL in 21 Days, Second Edition -- Day 4 -- Functions: Molding the Data You Retrieve</TITLE>
</HEAD>

<BODY TEXT="#000000" BGCOLOR="#FFFFFF">

<CENTER>
<H1><IMG SRC="sams.gif" tppabs="http://202.113.16.101/%7eeb%7e/Teach%20Yourself%20MS%20SQL%20Server%206.5%20in%2021%20Days/sams.gif" WIDTH="171" HEIGHT="66" ALIGN="BOTTOM" BORDER="0"><BR>
<FONT COLOR="#000077">Teach Yourself SQL in 21 Days, Second Edition</FONT></H1>
</CENTER>
<CENTER>
<P><A HREF="ch03.htm" tppabs="http://202.113.16.101/%7eeb%7e/Teach%20Yourself%20MS%20SQL%20Server%206.5%20in%2021%20Days/ch03.htm"><IMG SRC="previous.gif" tppabs="http://202.113.16.101/%7eeb%7e/Teach%20Yourself%20MS%20SQL%20Server%206.5%20in%2021%20Days/previous.gif" WIDTH="128" HEIGHT="28"
ALIGN="BOTTOM" ALT="Previous chapter" BORDER="0"></A><A HREF="ch05.htm" tppabs="http://202.113.16.101/%7eeb%7e/Teach%20Yourself%20MS%20SQL%20Server%206.5%20in%2021%20Days/ch05.htm"><IMG
SRC="next.gif" tppabs="http://202.113.16.101/%7eeb%7e/Teach%20Yourself%20MS%20SQL%20Server%206.5%20in%2021%20Days/next.gif" WIDTH="128" HEIGHT="28" ALIGN="BOTTOM" ALT="Next chapter"
BORDER="0"></A><A HREF="index-1.htm" tppabs="http://202.113.16.101/%7eeb%7e/Teach%20Yourself%20MS%20SQL%20Server%206.5%20in%2021%20Days/index-1.htm"><IMG SRC="contents.gif" tppabs="http://202.113.16.101/%7eeb%7e/Teach%20Yourself%20MS%20SQL%20Server%206.5%20in%2021%20Days/contents.gif" WIDTH="128"
HEIGHT="28" ALIGN="BOTTOM" ALT="Contents" BORDER="0"></A> 
<HR>
</P>
</CENTER>
<CENTER>
<H1><FONT COLOR="#000077">- Day 4 -<BR>
Functions: Molding the Data You Retrieve</FONT></H1>
</CENTER>
<H2><FONT COLOR="#000077">Objectives</FONT></H2>
<P>Today we talk about functions. Functions in SQL enable you to perform feats such
as determining the sum of a column or converting all the characters of a string to
uppercase. By the end of the day, you will understand and be able to use all the
following:

<UL>
	<LI>Aggregate functions
	<P>
	<LI>Date and time functions
	<P>
	<LI>Arithmetic functions
	<P>
	<LI>Character functions
	<P>
	<LI>Conversion functions
	<P>
	<LI>Miscellaneous functions
</UL>

<P>These functions greatly increase your ability to manipulate the information you
retrieved using the basic functions of SQL that were described earlier this week.
The first five aggregate functions, <TT>COUNT</TT>, <TT>SUM</TT>, <TT>AVG</TT>, <TT>MAX</TT>,
and <TT>MIN</TT>, are defined in the ANSI standard. Most implementations of SQL have
extensions to these aggregate functions, some of which are covered today. Some implementations
may use different names for these functions.
<H2><FONT COLOR="#000077">Aggregate Functions</FONT></H2>
<P>These functions are also referred to as group functions. They return a value based
on the values in a column. (After all, you wouldn't ask for the average of a single
field.) The examples in this section use the table <TT>TEAMSTATS</TT>:</P>
<H5>INPUT:</H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT * FROM TEAMSTATS;</B></FONT></PRE>
<H5><FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#000000"></FONT></PRE>
<PRE><FONT COLOR="#0066FF">NAME      POS  AB HITS WALKS SINGLES DOUBLES TRIPLES HR SO
--------- --- --- ---- ----- ------- ------- ------- -- --
JONES      1B 145   45 34    31       8       1       5 10
DONKNOW    3B 175   65 23    50      10       1       4 15
WORLEY     LF 157   49 15    35       8       3       3 16
DAVID      OF 187   70 24    48       4       0      17 42
HAMHOCKER  3B  50   12 10    10       2       0       0 13
CASEY      DH   1    0  0     0       0       0       0  1

6 rows selected.
</FONT></PRE>
<H3><FONT COLOR="#000077">COUNT</FONT></H3>
<P>The function <TT>COUNT</TT> returns the number of rows that satisfy the condition
in the <TT>WHERE</TT> clause. Say you wanted to know how many ball players were hitting
under 350. You would type</P>
<H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT COUNT(*)
 </B> 2  <B>FROM TEAMSTATS
</B>  3 <B> WHERE HITS/AB &lt; .35;
</B>
COUNT(*)
--------
       4
</FONT></PRE>
<P>To make the code more readable, try an alias:</P>
<H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT COUNT(*) NUM_BELOW_350
</B>  2 <B> FROM TEAMSTATS
</B>  3 <B> WHERE HITS/AB &lt; .35;</B>

NUM_BELOW_350
-------------
            4
</FONT></PRE>
<P>Would it make any difference if you tried a column name instead of the asterisk?
(Notice the use of parentheses around the column names.) Try this:</P>
<H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT COUNT(NAME) NUM_BELOW_350
</B>  2<B>  FROM TEAMSTATS
</B>  3 <B> WHERE HITS/AB &lt; .35;
</B>
NUM_BELOW_350
-------------
            4
</FONT></PRE>
<P>The answer is no. The <TT>NAME</TT> column that you selected was not involved
in the <TT>WHERE</TT> statement. If you use <TT>COUNT</TT> without a <TT>WHERE</TT>
clause, it returns the number of records in the table.</P>
<H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT COUNT(*)
</B>  2<B>  FROM TEAMSTATS;
</B>
 COUNT(*)
---------
        6
</FONT></PRE>
<H3><FONT COLOR="#000077">SUM</FONT></H3>
<P><TT>SUM</TT> does just that. It returns the sum of all values in a column. To
find out how many singles have been hit, type</P>
<H5>INPUT:</H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT SUM(SINGLES) TOTAL_SINGLES
  </B>2<B>  FROM TEAMSTATS;</B></FONT></PRE>
<H5><FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#000000"></FONT></PRE>
<PRE><FONT COLOR="#0066FF">TOTAL_SINGLES
-------------
          174
</FONT></PRE>
<P>To get several sums, use</P>
<H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT SUM(SINGLES) TOTAL_SINGLES, SUM(DOUBLES) TOTAL_DOUBLES,
SUM(TRIPLES) TOTAL_TRIPLES, SUM(HR) TOTAL_HR
 </B> 2 <B> FROM TEAMSTATS;</B>

TOTAL_SINGLES TOTAL_DOUBLES TOTAL_TRIPLES TOTAL_HR
------------- ------------- ------------- --------
          174            32             5       29
</FONT></PRE>
<P>To collect similar information on all 300 or better players, type</P>
<H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT SUM(SINGLES) TOTAL_SINGLES, SUM(DOUBLES) TOTAL_DOUBLES,
SUM(TRIPLES) TOTAL_TRIPLES, SUM(HR) TOTAL_HR
  </B>2<B>  FROM TEAMSTATS
  </B>3<B>  WHERE HITS/AB &gt;= .300;</B>

TOTAL_SINGLES TOTAL_DOUBLES TOTAL_TRIPLES TOTAL_HR
------------- ------------- ------------- --------
          164            30             5       29
</FONT></PRE>
<P>To compute a team batting average, type</P>
<H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT SUM(HITS)/SUM(AB) TEAM_AVERAGE
  </B>2<B>  FROM TEAMSTATS;
</B>
TEAM_AVERAGE
------------
   .33706294
</FONT></PRE>
<P><TT>SUM</TT> works only with numbers. If you try it on a nonnumerical field, you
get</P>
<H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT SUM(NAME)
 </B> 2<B>  FROM TEAMSTATS;
</B>
ERROR:
ORA-01722: invalid number
no rows selected
</FONT></PRE>
<P>This error message is logical because you cannot sum a group of names.
<H3><FONT COLOR="#000077">AVG</FONT></H3>
<P>The <TT>AVG</TT> function computes the average of a column. To find the average
number of strike outs, use this:</P>
<H5>INPUT:</H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT AVG(SO) AVE_STRIKE_OUTS
 </B> 2<B>  FROM TEAMSTATS;</B></FONT></PRE>
<H5><FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#000000"></FONT></PRE>
<PRE><FONT COLOR="#0066FF">AVE_STRIKE_OUTS
---------------
      16.166667
</FONT></PRE>
<P>The following example illustrates the difference between <TT>SUM</TT> and <TT>AVG</TT>:</P>
<H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT AVG(HITS/AB) TEAM_AVERAGE
  </B>2 <B> FROM TEAMSTATS;
</B>
TEAM_AVERAGE
------------
   .26803448
</FONT></PRE>
<H5>ANALYSIS:</H5>
<P>The team was batting over 300 in the previous example! What happened? <TT>AVG</TT>
computed the average of the combined column hits divided by at bats, whereas the
example with <TT>SUM</TT> divided the total number of hits by the number of at bats.
For example, player A gets 50 hits in 100 at bats for a .500 average. Player B gets
0 hits in 1 at bat for a 0.0 average. The average of 0.0 and 0.5 is .250. If you
compute the combined average of 50 hits in 101 at bats, the answer is a respectable
.495. The following statement returns the correct batting average:</P>
<H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT AVG(HITS)/AVG(AB) TEAM_AVERAGE
 </B> 2 <B> FROM TEAMSTATS;
</B></FONT></PRE>
<PRE><FONT COLOR="#0066FF">TEAM_AVERAGE
------------
   .33706294
</FONT></PRE>
<P>Like the <TT>SUM</TT> function, <TT>AVG</TT> works only with numbers.
<H3><FONT COLOR="#000077">MAX</FONT></H3>
<P>If you want to find the largest value in a column, use <TT>MAX</TT>. For example,
what is the highest number of hits?</P>
<H5>INPUT:</H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT MAX(HITS)
 </B> 2 <B> FROM TEAMSTATS;</B></FONT></PRE>
<H5><FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#000000"></FONT></PRE>
<PRE><FONT COLOR="#0066FF">MAX(HITS)
---------
       70
</FONT></PRE>
<P>Can you find out who has the most hits?</P>
<H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT NAME
</B>  2<B>  FROM TEAMSTATS
</B>  3<B>  WHERE HITS = MAX(HITS);
</B>
ERROR at line 3:
ORA-00934: group function is not allowed here
</FONT></PRE>
<P>Unfortunately, you can't. The error message is a reminder that this group function
(remember that <I>aggregate functions</I> are also called <I>group functions</I>)
does not work in the <TT>WHERE</TT> clause. Don't despair, Day 7, &quot;Subqueries:
The Embedded <TT>SELECT</TT> Statement,&quot; covers the concept of subqueries and
explains a way to find who has the <TT>MAX</TT> hits.</P>
<P>What happens if you try a nonnumerical column?</P>
<H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT MAX(NAME)
 </B> 2 <B> FROM TEAMSTATS;</B>
</FONT></PRE>
<PRE><FONT COLOR="#0066FF">MAX(NAME)
---------------
WORLEY
</FONT></PRE>
<P>Here's something new. <TT>MAX</TT> returns the highest (closest to Z) string.
Finally, a function that works with both characters and numbers.
<H3><FONT COLOR="#000077">MIN</FONT></H3>
<P><TT>MIN</TT> does the expected thing and works like <TT>MAX</TT> except it returns
the lowest member of a column. To find out the fewest at bats, type</P>
<H5>INPUT:</H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT MIN(AB)
  </B>2 <B> FROM TEAMSTATS;</B></FONT></PRE>
<H5><FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#000000"></FONT></PRE>
<PRE><FONT COLOR="#0066FF">MIN(AB)
---------
        1
</FONT></PRE>
<P>The following statement returns the name closest to the beginning of the alphabet:</P>
<H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT MIN(NAME)
</B>  2<B>  FROM TEAMSTATS;
</B>
MIN(NAME)
---------------
CASEY
</FONT></PRE>
<P>You can combine <TT>MIN</TT> with <TT>MAX</TT> to give a range of values. For
example:</P>
<H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT MIN(AB), MAX(AB)
 </B> 2<B>  FROM TEAMSTATS;
</B>
 MIN(AB)  MAX(AB)
-------- --------
       1      187
</FONT></PRE>
<P>This sort of information can be useful when using statistical functions.


<BLOCKQUOTE>
	<P>
<HR>
<FONT COLOR="#000077"><B>NOTE:</B></FONT><B> </B>As we mentioned in the introduction,
	the first five aggregate functions are described in the ANSI standard. The remaining
	aggregate functions have become de facto standards, present in all important implementations
	of SQL. We use the Oracle7 names for these functions. Other implementations may use
	different names. 
<HR>


</BLOCKQUOTE>

<H3><FONT COLOR="#000077">VARIANCE</FONT></H3>
<P><TT>VARIANCE</TT> produces the square of the standard deviation, a number vital
to many statistical calculations. It works like this:</P>
<H5>INPUT:</H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT VARIANCE(HITS)
 </B> 2 <B> FROM TEAMSTATS;</B></FONT></PRE>
<H5><FONT COLOR="#000000"><B>OUTPUT:</B></FONT></H5>
<PRE><FONT COLOR="#000000"><B></B></FONT></PRE>
<PRE><FONT COLOR="#0066FF">VARIANCE(HITS)
--------------
     802.96667
</FONT></PRE>
<P>If you try a string</P>
<H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT VARIANCE(NAME)
</B>  2<B>  FROM TEAMSTATS;
</B>
ERROR:
ORA-01722: invalid number
no rows selected
</FONT></PRE>
<P>you find that <TT>VARIANCE</TT> is another function that works exclusively with
numbers.
<H3><FONT COLOR="#000077">STDDEV</FONT></H3>
<P>The final group function, <TT>STDDEV</TT>, finds the standard deviation of a column

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人国产电影网| 国产精品视频麻豆| 国产精品超碰97尤物18| 石原莉奈一区二区三区在线观看| 懂色av噜噜一区二区三区av| 欧美日韩高清在线| 国产精品福利av| 久久er99精品| 欧美精品乱码久久久久久按摩| 国产精品情趣视频| 久草这里只有精品视频| 色www精品视频在线观看| 久久夜色精品一区| 日韩中文字幕一区二区三区| 91免费在线播放| 欧美激情一区二区在线| 蜜臀99久久精品久久久久久软件| 欧美在线视频你懂得| 国产精品久久久久久久久晋中| 国产在线播放一区三区四| 在线观看日韩一区| 亚洲图片你懂的| 国产v日产∨综合v精品视频| 精品国产乱子伦一区| 视频一区在线播放| 在线播放日韩导航| 亚洲成人动漫在线免费观看| 在线观看av一区二区| 亚洲免费在线视频| 99re热这里只有精品视频| 国产欧美一区二区三区鸳鸯浴 | 狠狠色丁香久久婷婷综合丁香| 欧洲国内综合视频| 亚洲综合丝袜美腿| 欧美自拍偷拍午夜视频| 尤物视频一区二区| 欧美三级视频在线观看| 亚洲你懂的在线视频| 色视频成人在线观看免| 亚洲精品视频自拍| 91高清视频在线| 亚洲h精品动漫在线观看| 欧美日韩一区二区三区高清| 亚洲成a人片在线观看中文| 欧美日韩成人综合在线一区二区| 日韩成人精品在线| 欧美一区二区大片| 国产一区二区三区免费看| 国产三级精品三级在线专区| 99久久国产综合精品女不卡| 亚洲欧美日韩国产综合在线| 在线观看欧美精品| 麻豆视频观看网址久久| 国产日韩欧美制服另类| 不卡一卡二卡三乱码免费网站| 亚洲同性gay激情无套| 欧美视频精品在线观看| 五月综合激情日本mⅴ| 精品国产一区二区三区不卡| 国产馆精品极品| 夜夜夜精品看看| 欧美一区二区三区爱爱| 国产99久久精品| 亚洲午夜成aⅴ人片| 精品粉嫩aⅴ一区二区三区四区| 成人综合在线观看| 午夜精品久久久久| 欧美激情一区二区三区不卡 | 一本久久a久久精品亚洲| 午夜成人在线视频| 中文字幕精品综合| 69av一区二区三区| fc2成人免费人成在线观看播放| 亚洲一区二区三区三| 精品国产乱码久久久久久影片| 日本韩国一区二区| 久久99精品一区二区三区| 18欧美乱大交hd1984| 精品少妇一区二区三区| 色综合色狠狠综合色| 麻豆传媒一区二区三区| 亚洲一区在线观看免费观看电影高清 | 亚洲国产一区二区在线播放| 国产亚洲精品aa午夜观看| 色94色欧美sute亚洲13| 国产精品亚洲综合一区在线观看| 亚洲另类一区二区| 国产亚洲成aⅴ人片在线观看| 欧美日韩精品欧美日韩精品一| 丁香天五香天堂综合| 日韩二区三区在线观看| 中文字幕不卡在线| 久久久久综合网| 日韩欧美一二三四区| 欧美日韩久久一区| 91黄色在线观看| 99麻豆久久久国产精品免费 | 欧美色老头old∨ideo| 成人少妇影院yyyy| 国产一区二区三区四区五区美女 | 一个色妞综合视频在线观看| 国产人伦精品一区二区| wwww国产精品欧美| 欧美一区二区在线播放| 色综合欧美在线| 99在线热播精品免费| 岛国av在线一区| 精品一区二区三区的国产在线播放 | 国产激情视频一区二区三区欧美| 日韩欧美国产wwwww| 一区二区三区在线观看动漫| 国产精品久久久久天堂| 欧美日韩精品一区二区三区四区| 韩国女主播一区| 日本一区二区三区在线观看| 日韩免费在线观看| 国产乱国产乱300精品| 亚洲激情一二三区| 在线观看一区日韩| 热久久国产精品| 五月天亚洲精品| 91婷婷韩国欧美一区二区| 一区二区成人在线| 亚洲欧美另类小说视频| 亚洲欧美激情小说另类| 日韩一区欧美小说| 亚洲精品免费视频| 亚洲精品久久7777| 视频一区视频二区在线观看| 免费av成人在线| 国内精品不卡在线| 国产成人高清在线| 99精品热视频| 欧美三级三级三级| 日韩一区二区精品在线观看| 日韩欧美黄色影院| 久久久久久一二三区| 国产精品系列在线| 亚洲在线视频一区| 久久不见久久见免费视频7| 韩国v欧美v日本v亚洲v| aaa国产一区| 在线不卡中文字幕播放| 久久久午夜电影| 中文字幕一区二区三区色视频| 亚洲国产视频直播| 久久av中文字幕片| 91片在线免费观看| 日韩欧美一区二区久久婷婷| 国产精品另类一区| 日韩激情视频在线观看| 国产夫妻精品视频| 欧美网站大全在线观看| 日韩美女一区二区三区四区| 国产视频一区二区三区在线观看| 亚洲精品中文在线观看| 久久成人免费日本黄色| 91亚洲永久精品| 精品少妇一区二区三区视频免付费 | 国产在线看一区| 色8久久精品久久久久久蜜| 日韩美女在线视频| 亚洲一区精品在线| 国产成人精品午夜视频免费| 欧美日韩激情一区| 中文字幕精品一区二区精品绿巨人| 亚洲国产一区二区a毛片| 国产91丝袜在线播放| 日韩三级视频中文字幕| 亚洲一区二区三区四区不卡| 成人综合婷婷国产精品久久蜜臀| 51午夜精品国产| 亚洲制服丝袜av| 从欧美一区二区三区| 宅男在线国产精品| 亚洲免费观看高清| 高清久久久久久| 精品国产电影一区二区| 三级久久三级久久久| 一本大道久久精品懂色aⅴ| 久久久久国产一区二区三区四区 | 亚洲欧洲国产专区| 国产馆精品极品| 精品国产一区a| 日本午夜一区二区| 欧美年轻男男videosbes| 一区二区三区在线不卡| 国产成人精品三级麻豆| 久久免费电影网| 经典三级视频一区| 日韩欧美一级片| 精品中文字幕一区二区| 欧美一区二区三区视频在线观看| 亚洲二区在线观看| 欧美综合一区二区三区| 一区二区日韩av| 欧美视频一区在线| 亚洲一区二区三区自拍| 欧美日韩一区二区三区四区五区 | 日韩欧美一区二区久久婷婷|