ÈíÑ¶ÍøÂç > ³åÀ˱¦µä > ÍøÂç×ÊÔ´ > OracleѧϰժҪϵÁÐ001
¡¾±ê Ìâ¡¿£ºOracleѧϰժҪϵÁÐ001
¡¾¹Ø¼ü×Ö¡¿£º
Oracle,001
¡¾À´ Ô´¡¿£ºhttp://www.cublog.cn/u/10926/showart.php?id=121946
OracleѧϰժҪϵÁÐ001
- Èç¹û²éѯÖаüº¬Ò»¸ö¾ÛºÏº¯Êý,¶øËùÑ¡ÔñµÄÁв¢²»ÔھۺϺ¯ÊýÖÐ,ÄÇôÕâЩÁоͱØÐëÔÚGroup By×Ó¾äÖÐ,·ñÔò¾Í»á³öÏÖÏÂÃæµÄ´íÎó:ORA-00937: not a single-group group function.
SELECT product_type_id, AVG(price)
FROM products;
- ²»ÄÜÔÚWHERE×Ó¾äÖÐʹÓþۺϺ¯ÊýÀ´ÏÞÖÆÐÐ.Èç¹ûÊÔͼÕâÑù×ö,¾Í»á³öÏÖÏÂÃæµÄ´íÎó:ORA-00934: group function is not allowed here.
SELECT product_type_id, AVG(price)
FROM products
WHERE AVG(price) > 20
GROUP BY product_type_id; - ʹÓÃHAVING×Ó¾ä¹ýÂËÐзÖ×é.Ëü¿ÉÒÔ·ÅÔÚGROUP BY×Ó¾äÖ®ºó.GROUP BY¿ÉÒÔ²»ÓëHAVING×Ó¾äÒ»ÆðʹÓÃ,µ«ÊÇHAVING±ØÐëÓëGROUP BY×Ó¾äÒ»ÆðʹÓÃ.
SELECT product_type_id, AVG(price)
FROM products
GROUP BY product_type_id
HAVING AVG(price) > 20; - ½áºÏʹÓÃWHERE,GROUP BY, HAVING, ORDER BY
SELECT product_type_id, AVG(price)
FROM products
WHERE price < 15
GROUP BY product_type_id
HAVING AVG(price) > 13
ORDER BY AVG(price); - NVL()º¯ÊýÓÃÓÚ½«¿Õֵת»»³ÉÒ»¸öÒÑÖªµÄÖµ.NVL(x, value)µÄ½á¹ûÈçÏÂ:Èç¹ûxΪ¿Õ,Ôò·µ»Øvalue;·ñÔò·µ»Øx.
- ¿ÉÒÔÀûÓÃDATE¹Ø¼ü×ÖÏòÊý¾Ý¿âÌṩһ¸öÈÕÆÚÎı¾×Ö·û´®,´ËʱÈÕÆÚ±ØÐëʹÓÃANSI±ê×¼ÈÕÆÚ¸ñʽYYYY-MM-DD.
INSERT INTO customers (
customer_id, first_name, last_name, dob, phone
) VALUES (
7, 'Steve', 'Purple', DATE '1972-10-25', '800-555-1215'
); - ʹÓÃTO_CHAR()ºÍTO_DATE()ת»»Ê±¼äÖµ.
- ĬÈÏÈÕÆÚ¸ñʽÊÇÔÚÊý¾Ý¿â²ÎÊýNLS_DATE_FORMATÖÐÖ¸¶¨µÄ,DBA¿ÉÒÔÐÞ¸ÄNLS_DATE_FORMATµÄÉèÖÃ,·½·¨ÊÇÔÚÊý¾Ý¿âµÄinit.ora»òspfile.oraÎļþÖÐÉèÖÃÕâ¸ö²ÎÊýµÄÖµ.DBA»¹¿ÉÒÔʹÓÃALTER SYSTEMÃüÁî¶ÔNLS_DATE_FORMATµÄÖµ½øÐÐÉèÖÃ.ÆÕͨÓû§Ò²¿ÉÒÔʹÓÃSQL*PlusΪ×Ô¼ºµÄ»á»°ÉèÖÃNLS_DATE_FORMAT²ÎÊý,Õâ¿ÉÒÔʹÓÃLATER SESSIONÃüÁîʵÏÖ.
ALTER SESSION SEL NLS_DATE_FORMAT = 'MONTH-DD-YYYY'; - Oracle¶ÔÁ½Î»Äê·ÝµÄ´¦Àí
ËäÈ»OracleÊý¾Ý¿â´æ´¢ÁË4λµÄÄê·Ý,µ«ÊÇÈç¹ûÖ»Ìṩ2λÊý×Ö,Oracle¾Í»á¸ù¾ÝËùʹÓõĸñʽÊÇYY»¹ÊÇRRÀ´½âÊÍÊÀ¼Í.
- ʹÓÃYY¸ñʽ
Èç¹ûÈÕÆÚÖеÄÄê·Ý²ÉÓõĸñʽΪYY,²¢ÇÒÖ»ÌṩÁË2λµÄÄê·Ý,ÄÇô¾ÍÈÏΪÕâÒ»ÄêµÄÊÀ¼ÍÓëÊý¾Ý¿â·þÎñÆ÷Éϵ±Ç°ÉèÖõÄÊÀ¼ÍÏàͬ.Òò´Ë,ËùÖ¸¶¨µÄÄê·ÝµÄǰÁ½Î»Êý×ÖÓëǰÄêµÄǰÁ½Î»Êý×ÖÏàͬ.ÀýÈç,Èç¹ûËùÌṩµÄÄê·ÝÊÇ15,¶øµ±ÄêÊÇ2006Äê,ÄÇôËùÌṩµÄÄê·Ý¾ÍÊÇ2015Äê. - ʹÓÃRR¸ñʽ
Èç¹ûÈÕÆÚÖеÄÄê·Ý²ÉÓõĸñʽΪRR,²¢ÇÒÖ»ÌṩÁË×îºó2λÄê·Ý,ÄÇôÄê·ÝÖеÄǰÁ½Î»Êý×Ö¾ÍÓÉÁ½²¿·Ö¹²Í¬È·¶¨:ËùÌṩµÄÄê·ÝµÄÁ½Î»Êý×Ö(Ö¸¶¨Äê),Êý¾Ý¿â·þÎñÆ÷Éϵ±Ç°ÈÕÆÚÖÐÄê·ÝµÄºó2λÊý×Ö(µ±Äê).È·¶¨Ö¸¶¨ÄêµÄÊÀ¼ÍµÄ¹æÔòÈçÏÂ:
| | Ö¸¶¨ÄêµÄ2λÊý×Ö |
| 00-49 |
50-99 |
| µ±ÄêµÄºóÁ½Î»Êý×Ö |
00-49 |
¹æÔò1:Ö¸¶¨ÄêµÄǰÁ½Î»Êý×־͵ÈÓÚµ±ÄêµÄǰÁ½Î»Êý×Ö |
¹æÔò2:Ö¸¶¨ÄêµÄǰÁ½Î»Êý×־͵ÈÓÚµ±Ç°ÄêµÄǰÁ½Î»Êý×Ö¼õÈ¥1 |
| 50-99 |
¹æÔò3:Ö¸¶¨ÄêµÄǰÁ½Î»Êý×־͵ÈÓÚµ±ÄêµÄǰÁ½Î»Êý×Ö¼ÓÉÏ1 |
¹æÔò4:Ö¸¶¨ÄêµÄǰÁ½Î»Êý×־͵ÈÓÚµ±ÄêµÄǰÁ½Î»Êý×Ö |