mysql - 检索 MySql 中的最后一级类别

标签 mysql

我在 MySql 数据库中有一个类别表,其中包含以下数据。

id  name                      parent
-------------------------------------
1   Web development           0
2   Application development   0
3   Linux                     0
4   Misc                      0
5   Php                       1
6   Mysql                     1
7   Javascript                1
8   CSS                       1
9   C plus plus               2
10  wxWidgets                 2
11  Tutorials                 3
12  My thoughts               4
13  Java                      1
14  JSP                       13
15  Spring                    14
16  Spring 3.0                15
17  Spring 3.1                15
18  JSF                       13
19  Oracle                    0
20  Oracle 8i                 19
21  Oracle 91                 19
22  JSF 2.0                   18
23  JSF 2.2                   18

我需要以下输出。

5   Php                       1
9   C plus plus               2
11  Tutorials                 3
12  My thoughts               4
6   Mysql                     1
7   Javascript                1
8   CSS                       1
10  wxWidgets                 2
22  JSF 2.0                   18
23  JSF 2.2                   18
16  Spring 3.0                15
17  Spring 3.1                15
20  Oracle 8i                 19
21  Oracle 91                 19

结果集应该只包含每个类别的最后一级。这可以使用 MySql 中的函数来完成。但是有没有一种方法可以仅使用 SQL 查询来实现这一点?

最佳答案

请检查它..它会工作

SELECT id, name, parent
FROM category 
WHERE id NOT 
IN ( SELECT parent FROM category ) 

关于mysql - 检索 MySql 中的最后一级类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12702769/

相关文章:

mysql - 查询以查找每天每小时累积的 SUM

具有逆向和正向工程能力的 MySQL 开发工具

mysql - 解析两个表最有效的方法?

python - 检查 tsv 文件中是否有空行,并且不对该空行执行 mysql 插入

mysql 在我的 centos 6.5 服务器上停止并且无法重新启动

MySQL 查询 : How to show all number and sum it

mysql - 如何按每列不同优先级的多列排序?

mysql - 使用数字和字母对 VARCHAR 列进行排序

MYSQL:在 WHERE 子句中匹配 n-1 个条件的方法

mysql - 读取xml文件并通过MERGE将值放入sql表中