在MySQL中,如何对搜索结果进行排序,以显示第一个有图片的用户,然后显示其他用户
我在分组和排序方面有问题在MySQL中,如何对搜索结果进行排序,以显示第一个有图片的用户,然后显示其他用户,mysql,Mysql,我在分组和排序方面有问题 ( SELECT `subdomain` AS `id`,`name`,`lastname`,IF(`category` NOT LIKE '',`category`,0) AS `category`,`level`,`image`,`description` AS `summary`, '1' AS `type` FROM `user_professionals` WHERE `keywords`='%{$k
(
SELECT
`subdomain` AS `id`,`name`,`lastname`,IF(`category` NOT LIKE '',`category`,0) AS `category`,`level`,`image`,`description` AS `summary`, '1' AS `type`
FROM
`user_professionals`
WHERE `keywords`='%{$keywords}%' AND `active`='1' AND `search`='1' AND
NULLIF(CONCAT(`name`, `lastname`), '') IS NOT NULL AND NULLIF(`description`, '') IS NOT NULL AND NULLIF(`category`, '') IS NOT NULL
GROUP BY `image`, `id`
ORDER BY `image` DESC
)
UNION
(
SELECT
`id`,`name`,`lastname`,IF(`category` NOT LIKE '',`category`,0) AS `category`,`level`,`image`,`summary`, '2' AS `type`
FROM
`users_amateurs`
WHERE `keywords`='%{$keywords}%' AND
`on_hold`='0' AND (`level`='2' OR `level`='3') AND `register`='1' AND `banned`='0'
AND
NULLIF(CONCAT(`name`, `lastname`), '') IS NOT NULL AND NULLIF(`summary`, '') IS NOT NULL AND NULLIF(`category`, '') IS NOT NULL
GROUP BY `image`, `id`
ORDER BY `image` DESC
)
LIMIT 100
问题:
搜索必须同时在两个单独的表中进行,这样可以在一个查询中得到一个组合结果。排序和分组需要按照以下顺序进行:
谢谢如果你愿意,考虑一下这个简单的两步过程:1。如果您还没有这样做,请提供适当的DDL(和/或SQLFIDLE),以便我们可以更轻松地复制问题。2.如果您还没有这样做,请提供与步骤1中提供的信息相对应的所需结果集。我想我还没有完全理解。