ÔÚSQL Server2005ÖÐÓÐÈçÏÂËĸöÅÅÃûº¯Êý
ÅÅÃûº¯ÊýÊÇSQL Server2005мӵŦÄÜ¡£ÔÚSQL Server2005ÖÐÓÐÈçÏÂËĸöÅÅÃûº¯Êý£º
¡¡¡¡1.row_number
¡¡¡¡2.rank
¡¡¡¡3.dense_rank
¡¡¡¡4.ntile¡¡¡¡
¡¡¡¡ÏÂÃæ·Ö±ð½éÉÜÒ»ÏÂÕâËĸöÅÅÃûº¯ÊýµÄ¹¦Äܼ°Ó÷¨¡£ÔÚ½éÉÜ֮ǰ¼ÙÉèÓÐÒ»¸öt_table±í£¬±í½á¹¹Óë±íÖеÄÊý¾ÝÈçͼ1Ëùʾ£º
¡¡¡¡Í¼1
¡¡¡¡ÆäÖÐfield1×ֶεÄÀàÐÍÊÇint£¬field2×ֶεÄÀàÐÍÊÇvarchar
¡¡¡¡Ò»¡¢row_number
¡¡¡¡row_numberº¯ÊýµÄÓÃ;ÊǷdz£¹ã·º£¬Õâ¸öº¯ÊýµÄ¹¦ÄÜÊÇΪ²éѯ³öÀ´µÄÿһÐмǼÉú³ÉÒ»¸öÐòºÅ¡£row_numberº¯ÊýµÄÓ÷¨ÈçÏÂÃæµÄSQLÓï¾äËùʾ£º
select row_number() over(order by field1) as row_number,* fromt_table
¡¡¡¡ÉÏÃæµÄSQLÓï¾äµÄ²éѯ½á¹ûÈçͼ2Ëùʾ¡£
¡¡¡¡Í¼2
¡¡¡¡ÆäÖÐrow_numberÁÐÊÇÓÉrow_numberº¯ÊýÉú³ÉµÄÐòºÅÁС£ÔÚʹÓÃrow_numberº¯ÊýÊÇҪʹÓÃover×Ó¾äÑ¡Ôñ¶ÔijһÁнøÐÐÅÅÐò£¬È»ºó²ÅÄÜÉú³ÉÐòºÅ¡£
¡¡¡¡Êµ¼ÊÉÏ£¬row_numberº¯ÊýÉú³ÉÐòºÅµÄ»ù±¾ÔÀíÊÇÏÈʹÓÃover×Ó¾äÖеÄÅÅÐòÓï¾ä¶Ô¼Ç¼½øÐÐÅÅÐò£¬È»ºó°´×ÅÕâ¸ö˳ÐòÉú³ÉÐòºÅ¡£over×Ó¾äÖеÄorder by×Ó¾äÓëSQLÓï¾äÖеÄorder by×Ó¾äûÓÐÈκιØÏµ£¬ÕâÁ½´¦µÄorder by ¿ÉÒÔÍêÈ«²»Í¬£¬ÈçÏÂÃæµÄSQLÓï¾äËùʾ
select row_number() over(order by field2 desc) as row_number,*from t_table order by field1 desc
¡¡¡¡ÉÏÃæµÄSQLÓï¾äµÄ²éѯ½á¹ûÈçͼ3Ëùʾ¡£
¡¡¡¡Í¼3
¡¡¡¡ÎÒÃÇ¿ÉÒÔʹÓÃrow_numberº¯ÊýÀ´ÊµÏÖ²éѯ±íÖÐÖ¸¶¨·¶Î§µÄ¼Ç¼£¬Ò»°ã½«ÆäÓ¦Óõ½WebÓ¦ÓóÌÐòµÄ·ÖÒ³¹¦ÄÜÉÏ¡£ÏÂÃæµÄSQLÓï¾ä¿ÉÒÔ²éѯt_table±íÖеÚ2ÌõºÍµÚ3Ìõ¼Ç¼£º
with t_rowtable
as
(
¡¡¡¡select row_number() over(order by field1) as row_number,*from t_table
)
select * from t_rowtable where row_number>1 and row_number<4 order by field1
¡¡¡¡ÉÏÃæµÄSQLÓï¾äµÄ²éѯ½á¹ûÈçͼ4Ëùʾ¡£
¡¡¡¡Í¼4
¡¡¡¡ÉÏÃæµÄSQLÓï¾äʹÓÃÁËCTE£¬¹ØÓÚCTEµÄ½éÉܽ«¶ÁÕß²ÎÔÄ¡¶SQL Server2005ÔÓ̸£¨1£©£ºÊ¹Óù«Óñí±í´ïʽ£¨CTE£©¼ò»¯Ç¶Ì×SQL¡·¡£
¡¡¡¡ÁíÍâҪעÒâµÄÊÇ£¬Èç¹û½«row_numberº¯ÊýÓÃÓÚ·ÖÒ³´¦Àí£¬over×Ó¾äÖеÄorder by ÓëÅÅÐò¼Ç¼µÄorder by Ó¦Ïàͬ£¬·ñÔòÉú³ÉµÄÐòºÅ¿ÉÄܲ»ÊÇÓÐÐøµÄ¡£
¡¡¡¡µ±È»£¬²»Ê¹ÓÃrow_numberº¯ÊýÒ²¿ÉÒÔʵÏÖ²éѯָ¶¨·¶Î§µÄ¼Ç¼£¬¾ÍÊDZȽÏÂé·³¡£Ò»°ãµÄ·½·¨ÊÇʹÓõߵ¹TopÀ´ÊµÏÖ£¬ÀýÈ磬²éѯt_table±íÖеÚ2ÌõºÍµÚ3Ìõ¼Ç¼£¬¿ÉÒÔÏȲé³öǰ3Ìõ¼Ç¼£¬È»ºó½«²éѯ³öÀ´µÄÕâÈýÌõ¼Ç¼°´µ¹ÐòÅÅÐò£¬ÔÙȡǰ2Ìõ¼Ç¼£¬×îºóÔÙ½«²é³öÀ´µÄÕâ2Ìõ¼Ç¼ÔÙ°´µ¹ÐòÅÅÐò£¬¾ÍÊÇ×îÖÕ½
Ïà¹ØÎĵµ£º
Ò»¡¢ ¾µÏñ¼ò½é
1¡¢ ¼ò½é
Êý¾Ý¿â¾µÏñÊǽ«Êý¾Ý¿âÊÂÎñ´¦Àí´ÓÒ»¸öSQL ServerÊý¾Ý¿âÒÆ¶¯µ½²»Í¬SQL Server»·¾³ÖеÄÁíÒ»¸öSQL ServerÊý¾Ý¿âÖС£¾µÏñ²»ÄÜÖ±½Ó·ÃÎÊ;ËüÖ»ÓÃÔÚ´íÎó»Ö¸´µÄÇé¿öϲſÉÒÔ±»·ÃÎÊ¡£
Òª½øÐÐÊý¾Ý¿â¾µÏñËùÐèµÄ×îСÐèÇó°üÀ¨ÁËÁ½¸ö²»Í¬µÄSQL ServerÔËÐл·¾³¡£Ö÷·þÎñÆ÷±»³ÆÎª“Ö÷»ú”£¬µÚ¶þ¸ö·þÎñÆ÷±» ......
±¾ÎÄ×ªÔØ: http://hi.baidu.com/%D2%BB%C6%F0%C8%A5%CC%DF%C7%F2/blog/item/802027355899fe83a61e12ee.html
ʹÓÃSQLQuery
¶ÔÔÉúSQL²éѯִÐеĿØÖÆÊÇͨ¹ýSQLQuery½Ó¿Ú½øÐеģ¬Í¨¹ýÖ´ÐÐSession.createSQLQuery
()
»ñÈ¡Õâ¸ö½Ó¿Ú¡£×î¼òµ¥µÄÇé¿öÏ£¬ÎÒÃÇ¿ÉÒÔ²ÉÓÃÒÔÏÂÐÎʽ£º
List
cats
=
sess.createSQLQuery
(
......
ÔÚ¹¤×÷Öг£³£Åöµ½ÕâÖÖÇé¿ö£ºÎÒÃÇÐèÒª½«Ò»¸öÓ¦ÓÃϵͳµÄ»ù´¡Êý¾Ýµ¼³öÀ´£¬ÒÔ±ã»ù´¡Êý¾ÝÏ´ε¼Èëµ½ÁíÍâÒ»¸ö³¡¾°¡£
ÊÂʵÉÏ£¬ÕâÖÖÇé¿öÎÒÃÇ¿ÉÒÔÓÃpl/sqlµÄ¹¦ÄÜExport TablesÀ´ÊµÏÖ¡£Export TableÓÐÈýÖÖµ¼³ö·½Ê½£ºOracle Export£¬SQL Insert£¬PL/SQL Developer¡£Í¨³£ÎÒÃÇ»áʹÓÃOracle Export£¬SQL InsertµÄ¹¦ÄÜ¡£(µÚÈýÖÖ°³Ã»Óùý£¬ ......
ÓÒ»÷ÒªÇå³ýÈÕÖ¾µÄÊý¾Ý¿â Ñ¡ÔñÊôÐÔ
ÔÚÊý¾Ý¿âÊôÐÔÖÐ Ñ¡ÔñÑ¡Ïî ÔÚÓұ߻ָ´Ä£Ê½ÏÂÀÁбí¿òÖÐ Ñ¡Ôñ¼òµ¥ µ¥»÷È·¶¨ ·µ»Ø
ÓÒ»÷ÒªÇå³ýÈÕÖ¾µÄÊý¾Ý¿â Ñ¡ÔñÈÎÎñ-ÊÕËõ-Êý¾Ý¿â µ¥»÷È·¶¨
Íê³ÉÊÕËõ ÈÕÖ¾Îļþ´óС±äΪ0 ......