然后查询的时候 order by (category='西装') desc,category 即可实现要求.
select * from (select * from tablename where A='01' order by B asc) a
union all
select * from (select * from tablename where A='02' order by B desc) a
举个例子,这是itxxza表中的数据
分割后的运行结果:
select func_split_string(a,b) result, t.* from itxxza t
执行后均为success,则说明我们分割成功,这时再看下itxxzb表中数据:
具体实现可参考:itxxz.com/mysql/2015/0114/mysql_split.html
CREATE TABLE test_guankairi (id INT,
image VARCHAR(30)
)
INSERT INTO test_guankairi
SELECT 1, ':/image/a/1/tupian.jpg' UNION ALL
SELECT 2, ':/image/a/2/tupian.jpg' UNION ALL
SELECT 3, ':/image/a/3/tupian.jpg' UNION ALL
SELECT 4, ':/image/a/4/tupian.jpg' UNION ALL
SELECT 5, ':/image/a/1/tupian5.jpg'
SELECT
-- REVERSE 是字符反转
-- 因为 MySQL 的 INSTR, 只能从前向后查找。
-- 而这里需要 从后向前找第一个 /
-- 因此先做字符反转。
-- INSTR 用于找第一个 / 的位置.
-- RIGHT 用于获取字符右边的字符
RIGHT(image, INSTR( REVERSE(image), '/') ) AS img,
COUNT(*)
FROM
test_guankairi
GROUP BY
RIGHT(image, INSTR( REVERSE(image), '/') )
+--------------+----------+
| img | COUNT(*) |
+--------------+----------+
| /tupian.jpg |4 |
| /tupian5.jpg |1 |
+--------------+----------+
2 rows in set (0.00 sec)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)