0

私はmysql_queryを持っています:select * from table ORDER BY v1, v2 ASC

v1以下のように、ソートするクエリを作成できますv2か?

+---------------+-----------------------+------+-----+
| id            | name                  | v1   | v2  | 
+---------------+-----------------------+------+-----+
| 1             | a                     | 1    |  A  |
| 2             | a                     | 2    |  B  |
| 3             | a                     | 3    |  C  |
| 4             | a                     | 1    |  A  |
| 5             | a                     | 2    |  B  |
| 6             | a                     | 3    |  C  |
| 7             | a                     | 1    |  A  |
| 7             | a                     | 2    |  B  |
| 7             | a                     | 3    |  C  |
+---------------+-----------------------+------+-----+

SQLフィドル

4

2 に答える 2

1

これを試すことができます:

Select id, name, v1, v2, (v1 + ASCII(v2)) as mySum
from table
order by mySum

ASCII http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_ascii

于 2012-12-15T00:42:13.223 に答える
1

そのように並べ替えるには、別の列が必要です。ID 1、2、3 が 4、5、6 の前に来る理由を MySQL に伝える必要があります。たとえば、1、2、3 の場合は 1、4、5、6 の場合は 2 などの別の列がある場合は、次のように並べ替えることができます。

ORDER BY missing_col, v1, v2
于 2012-12-15T01:29:37.533 に答える