如果列存在则按列排序,否则按ID排序

时间:2013-10-29 12:07:22

标签: mysql

您好可以在MYSQL中创建有序的select语句,用户将选择要排序的列名。我知道我可以为用户列出预定义的选项,但用户可以选择为每个表创建自己的列。

起初我正在考虑检查列是否在查询结果中,如:

SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_table';

SHOW COLUMNS FROM my_table;

但是我想要一个更清洁的解决方案,我对mysql不太熟练。 换句话说:

SELECT * FROM 'users' WHERE users.id = 'user_id' ORDER BY 'column' IF EXISTS ELSE ORDER BY users.id

类似于上面的陈述,如果列不存在id,就像defulat order一样。

0 个答案:

没有答案