如何从 MySQL 表中选择消息列表?
Posted
技术标签:
【中文标题】如何从 MySQL 表中选择消息列表?【英文标题】:How to select message list from MySQL table? 【发布时间】:2018-08-18 09:25:03 【问题描述】:phpMyAdmin 中的表是:
我想在一个列中从 to 和 from 列中选择用户名,结果应按该列分组。而且我的用户 ID (admin) 不应包含在列表中。
【问题讨论】:
如果您真正想要实现的目标,您能否举一些示例输出之类的示例? 你是什么意思“按那个单列分组”?一些结果会很有帮助。 【参考方案1】:你可以使用 mysql 的 UNION ALL 操作符来达到同样的效果。
请找到可能对您有帮助的查询:
SELECT A.FROM AS 'USER' FROM TABLENAME AS A WHERE FROM <> 'admin'
UNION ALL
SELECT B.TO AS 'USER' FROM TABLENAME AS B WHERE FROM <> 'admin'
希望对你有帮助。
【讨论】:
【参考方案2】:此查询可能会帮助您根据需要生成输出...
select concat(to, from) as to_from from table_name
where to <> 'admin' and from <> 'admin' group by to_from;
【讨论】:
【参考方案3】:使用联合和子查询
select * from
(select `to` as name from table_your
union
select `from` from table_your
) t where t.name!='admin'
http://sqlfiddle.com/#!9/9671f4/2
【讨论】:
【参考方案4】:您的问题根本不清楚。我猜你想 concatenate 两列,group by from 和 admin 不应该包含在列 from 中(尽管你可以通过使用 AND 运算符)。
from 和 to 是 MySql 的保留字,最好避免在列名中使用。
SELECT CONCAT(froms,tos) from admn WHERE froms <> 'admin' GROUP BY froms;
【讨论】:
以上是关于如何从 MySQL 表中选择消息列表?的主要内容,如果未能解决你的问题,请参考以下文章