这个查询
Message.where("message_type = ?", "incoming").group("sender_number").count
Run Code Online (Sandbox Code Playgroud)
会给我一个哈希值.
OrderedHash {"1234"=>21, "2345"=>11, "3456"=>63, "4568"=>100}
Run Code Online (Sandbox Code Playgroud)
现在我想按每组的数量排序.我该如何在查询中执行此操作.
我有一个有3列的表:
id | name | priority
--------------------
1 | core | 10
2 | core | 9
3 | other | 8
4 | board | 7
5 | board | 6
6 | core | 4
Run Code Online (Sandbox Code Playgroud)
我想使用,priority但首先是那些name=core即使具有较低优先级的行也可以对结果集进行排序.结果应该是这样的
id | name | priority
--------------------
6 | core | 4
2 | core | 9
1 | core | 10
5 | board | 6
4 | board | 7
3 | other | 8
Run Code Online (Sandbox Code Playgroud) 我想知道是否有人能够很好地解决我在过去几年遇到过的问题.
我有一个购物车,我的客户明确要求它的订单很重要.所以我需要将订单持久保存到DB.
显而易见的方法是简单地插入一些OrderField,我将数字0分配给N并以这种方式对其进行排序.
但这样做会使重新排序变得更加困难,我不知何故觉得这个解决方案有点脆弱,有一天会回到我身边.
(我在NHibernate和SQL Server 2005中使用C#3,5)
谢谢
我想要做的就是按字母顺序抓住这些东西并忽略大写字母.
db.rawQuery("SELECT " + catName + " FROM "+tableName+" ORDER BY "+catName+" ASC COLLATE NOCASE;", null);
Run Code Online (Sandbox Code Playgroud)
这是我上面使用的代码,但它总是给我一个SQLite异常,说COLLATE是一个语法错误.
android.database.sqlite.SQLiteException:near"COLLATE":语法错误:,同时编译:SELECT Artist FROM testTable COLLATE NOCASE ASC
我正在使用SQL Server 2005.
我的查询是:
SELECT (
SELECT COUNT(1) FROM Seanslar WHERE MONTH(tarihi) = 4
GROUP BY refKlinik_id
ORDER BY refKlinik_id
) as dorduncuay
Run Code Online (Sandbox Code Playgroud)
而错误:
除非还指定了TOP或FOR XML,否则ORDER BY子句在视图,内联函数,派生表,子查询和公用表表达式中无效.
如何ORDER BY在子查询中使用?
我有一个PHP数组,里面有ID号.这些数字已经订购.
现在我想通过IN()方法得到我的结果,以获得所有的ID.
但是,这些ID应该像IN方法一样进行排序.
例如:
IN(4,7,3,8,9)
Run Code Online (Sandbox Code Playgroud)
应该得到如下结果:
4 - Article 4
7 - Article 7
3 - Article 3
8 - Article 8
9 - Article 9
Run Code Online (Sandbox Code Playgroud)
有什么建议?也许有这样做的功能?
谢谢!
以降序显示数据的最有效方法是什么?
public String getRank() {
String[] rank = new String[]{ KEY_ROWID };
Cursor c = scoreDb.query(DATABASE_TABLE, rank, null, null, null, null, null); //reading information from db.
String rankResult = "";
int iRow = c.getColumnIndex(KEY_ROWID); //Cursor looking for column setting equal to these ints.
for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
//Move to first row - where cursor starts and moves to next row as long it is not after last row.
rankResult = rankResult + c.getString(iRow) + "\n";
//Returning value of row …Run Code Online (Sandbox Code Playgroud) 我的SQLite数据库中的每条记录都包含一个字段,其中包含以格式Date存储的字段.string'yyyy-MM-dd HH:mm:ss'
是否可以查询数据库以获取包含最新日期的记录?
我有一个看起来像这样的对象:
public class Student
{
public string Name { get; set; }
public int Grade { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我想创建以下查询:按学生姓名分组成绩,按成绩对每个学生组进行排序,并按每组中的最高成绩对订单组进行排序.
所以它看起来像这样:
A 100
A 80
B 80
B 50
B 40
C 70
C 30
Run Code Online (Sandbox Code Playgroud)
我创建了以下查询:
StudentsGrades.GroupBy(student => student.Name)
.OrderBy(studentGradesGroup => studentGradesGroup.Max(student => student.Grade));
Run Code Online (Sandbox Code Playgroud)
但是返回IEnumerable IGrouping,我无法对列表进行排序,除非我在另一个foreach查询中执行此操作并使用将结果添加到其他列表AddRange.
有更漂亮的方法吗?
如果我有一个表和这样的数据:
ID | Name | Group
1 Apple A
2 Boy A
3 Cat B
4 Dog C
5 Elep C
6 Fish C
Run Code Online (Sandbox Code Playgroud)
我希望按照从最小值到最大值的总数来订购,例如:A - 2条记录,B - 1条记录,C - 3条记录,因此它将成为:
3 Cat B
1 Apple A
2 Boy A
4 Dog C
5 Elep C
6 Fish C
Run Code Online (Sandbox Code Playgroud)
我试过了
$sql = "SELECT ID,Name FROM table ORDER BY COUNT(Group)";
Run Code Online (Sandbox Code Playgroud)
但它只是为我返回一个结果.
有没有提示?谢谢.
sql-order-by ×10
mysql ×3
sql ×3
sqlite ×3
android ×2
c# ×2
database ×2
activerecord ×1
collate ×1
group-by ×1
in-function ×1
linq ×1
nhibernate ×1
php ×1
select ×1
sql-server ×1