【发布时间】:2023-03-15 21:54:01
【问题描述】:
这是我的users 表:
http://ezinfotec.com/Capture.PNG
我需要选择除列中不包含 2 的所有行。如何使用 php 和 Mysql 编写查询。
我期望这个查询的结果是只返回最后一行。
谢谢。
【问题讨论】:
-
什么。有。你。试过了。
标签: mysql sql select concat sql-like
这是我的users 表:
http://ezinfotec.com/Capture.PNG
我需要选择除列中不包含 2 的所有行。如何使用 php 和 Mysql 编写查询。
我期望这个查询的结果是只返回最后一行。
谢谢。
【问题讨论】:
标签: mysql sql select concat sql-like
这应该适合你
SELECT *
FROM table
WHERE table.except NOT LIKE '%,2%'
OR table.except NOT LIKE '%2,%';
【讨论】:
不要在表中存储逗号分隔的值,这是非常糟糕的做法,不过你可以使用FIND_IN_SET
SELECT
*
FROM
users
WHERE
NOT FIND_IN_SET('2', except)
【讨论】:
试试这个:
SELECT *
FROM users
WHERE CONCAT(',', except, ',') NOT LIKE '%,2,%'
【讨论】: