哪位大侠指点下SQL语句怎么写 高分求解
发布网友
发布时间:2022-04-11 23:25
我来回答
共8个回答
热心网友
时间:2022-04-12 00:55
看上去, 你这个应该是想完成一个 " 树形结构" 的查询。
也就是 先显示 父节点 “长春风光”, 然后显示 这个节点下面的 子节点 旅游、 街景等。
CREATE TABLE xg_pic_class (
id INT,
title VARCHAR(10),
ordnum INT,
followid INT
);
INSERT INTO xg_pic_class
SELECT 28, '长春', 1, 0 UNION ALL
SELECT 29, '街景', 2, 28 UNION ALL
SELECT 31, '旅游', 1, 28 UNION ALL
SELECT 32, '娱乐', 3, 28 UNION ALL
SELECT 33, '休闲', 4, 28 UNION ALL
SELECT 34, '福建', 2, 0 UNION ALL
SELECT 35, '龙岩', 1, 34;
WITH StepCTE
AS
(
SELECT
id,
title,
ordnum,
followid,
ROW_NUMBER() OVER(ORDER BY ordnum) * 1000000 AS [seq]
FROM
xg_pic_class
WHERE
followid = 0
UNION ALL
SELECT
T.id,
T.title,
T.ordnum,
T.followid,
CTE.[seq] + ROW_NUMBER() OVER(ORDER BY T.ordnum) AS [seq]
FROM
xg_pic_class T INNER JOIN StepCTE CTE
ON T.followid = CTE.id
)
SELECT
id,
title,
ordnum,
followid
FROM
StepCTE
ORDER BY
[seq]
id title ordnum followid
28 长春 1 0
31 旅游 1 28
29 街景 2 28
32 娱乐 3 28
33 休闲 4 28
34 福建 2 0
35 龙岩 1 34
SQL Server 2008 Express 下测试通过。
热心网友
时间:2022-04-12 02:13
就这么简单的一条sql语句!
select title ,ordnum, followid from xg_pic_class
如果你有兴趣学习sql语句的话我可以教你!
热心网友
时间:2022-04-12 03:47
select id,title,rodnum,followid
from xg_pic_class
order by ordnum --按你的条件只用按这一个字段进行排序,如果还有就在这里增加,先后的顺序决定显示顺序
不知你明白否?
热心网友
时间:2022-04-12 05:39
Select id,title,ordnum,followid from xg_pic_class --这样不行吗?
热心网友
时间:2022-04-12 07:47
Select id,title,ordnum,followid from xg_pic_class
按照什么排序?
热心网友
时间:2022-04-12 10:11
没看懂你的要求 要是如你现在所说 那也太简单了吧
热心网友
时间:2022-04-12 12:53
Select id,title,ordnum,followid,filename,indexshow from xg_pic_class order ordnum,followid by desc追问
你的结果是这样
热心网友
时间:2022-04-12 15:51
不懂~~