如何从 MySQL 表中选择消息列表?

Posted

技术标签:

【中文标题】如何从 MySQL 表中选择消息列表?【英文标题】:How to select message list from MySQL table? 【发布时间】:2018-08-18 09:25:03 【问题描述】:

phpMyAdmin 中的表是:

我想在一个列中从 tofrom 列中选择用户名,结果应按该列分组。而且我的用户 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 运算符)。

fromto 是 MySql 的保留字,最好避免在列名中使用。

SELECT CONCAT(froms,tos) from admn WHERE froms <> 'admin' GROUP BY froms;

【讨论】:

以上是关于如何从 MySQL 表中选择消息列表?的主要内容,如果未能解决你的问题,请参考以下文章

如何从消息表中获取对话列表?

如何解决这个无效的选择列表?

MySQL 如何从今天记录的表中选择数据?

如何从mysql中的表中选择N条记录

如何从下拉列表中获取值并插入 MySQL Workbench?

如何从 MySQL 的表中“选择 *”但省略某些列?