CREATE TABLE tb(Name varchar(10),Score decimal(10,2))
INSERT tb SELECT 'aa',99
UNION ALL SELECT 'bb',56
UNION ALL SELECT 'cc',56
UNION ALL SELECT 'dd',77
UNION ALL SELECT 'ee',78
UNION ALL SELECT 'ff',76
UNION ALL SELECT 'gg',78
UNION ALL SELECT 'ff',50
GO
?
--1. 名次生成方式1,Score重復(fù)時(shí)合并名次
SELECT *,Place=(SELECT COUNT(DISTINCT Score) FROM tb WHERE Score>=a.Score)
FROM tb a
ORDER BY Place
/*--結(jié)果
Name?????? Score??????? Place
---------------- ----------------- -----------
aa???????? 99.00??????? 1
ee???????? 78.00??????? 2
gg???????? 78.00??????? 2
dd???????? 77.00??????? 3
ff???????? 76.00??????? 4
bb???????? 56.00??????? 5
cc???????? 56.00??????? 5
ff???????? 50.00??????? 6
?
?
就是理解不了Place=(SELECT COUNT(DISTINCT Score) FROM tb WHERE Score>=a.Score) 這句語句 有誰能幫幫我嗎
SQL語句理解問題
牛魔王的故事
2018-12-06 16:42:32