我有一个类别表:
ID Category
"1","Baking"
"3","Family"
"4","Entertaining"
"5","Children"
"6","Desserts"
Run Code Online (Sandbox Code Playgroud)
现在我想订购select语句的结果
ID Category
"4","Entertaining"
"3","Family"
"1","Baking"
"5","Children"
"6","Desserts"
Run Code Online (Sandbox Code Playgroud)
例如.在MySQL中,你会这样做:
SELECT * FROM CATEGORIES ORDER BY FIELD (ID, 4,3,1,5,6);
Run Code Online (Sandbox Code Playgroud)
你会怎么在SQLite中做到这一点?我没有"order by"字段.
我正在为我的公司编写一个应用程序,目前正致力于搜索功能.当用户搜索项目时,我想显示最高版本(存储在数据库中).
问题是,版本存储为字符串而不是int,当我对结果执行OrderBy(q => q.Version)时,它们会像
1
10
11
2
3
...
Run Code Online (Sandbox Code Playgroud)
显然2在10之前.
有没有办法让我把版本转换为整数或者那里有一个简单的IComparer?到目前为止,我找不到任何实质内容.
我试过这样做:
var items = (from r in results
select r).OrderBy(q => Int32.Parse(q.Version));
Run Code Online (Sandbox Code Playgroud)
这编译但不起作用.
如果我有一些UNION声明作为一个人为的例子:
SELECT * FROM xxx WHERE z = 1
UNION
SELECT * FROM xxx WHERE z = 2
UNION
SELECT * FROM xxx WHERE z = 3
Run Code Online (Sandbox Code Playgroud)
什么是默认order by行为?
我看到的测试数据基本上不会按照上面指定的顺序返回数据.即数据是有序的,但我想知道这有什么优先规则.
另一件事是,在这种情况下,xxx是一个视图.视图将3个不同的表连接在一起以返回我想要的结果.
我目前正在阅读Pro LINQ c#2008,而在第87页,这个人说OrderBy和OrderByDescending是稳定的.但他在第96页中恰恰相反.它在我看来,因为他指的是完全相同的功能,所以我不明白.它们是否稳定?
当MySQL处理查询时,哪一个首先出现?
一个例子:
SELECT pageRegions
FROM pageRegions WHERE(pageID=?) AND(published=true) AND (publishedOn<=?)
ORDER BY publishedON DESC
LIMIT 1';
Run Code Online (Sandbox Code Playgroud)
即使记录与ORDER BY后应用的修订日期时间IF LIMIT不匹配,是否会返回上次发布的pageRegion?
我有一个包含单词和输入字段的表,可以使用实时搜索来搜索该表.目前,我使用以下查询来搜索表:
SELECT word FROM words WHERE word LIKE '%searchstring%' ORDER BY word ASC
Run Code Online (Sandbox Code Playgroud)
有没有办法对结果进行排序,以便在单词的开头找到字符串的那些首先出现,而单词出现在单词后面的那些结尾出现?
例如:搜索' hab '当前返回
但我喜欢这样:
或者至少这样:
如果有人能帮我解决这个问题会很棒!
我一直认为没有指定"排序依据"规则的查询会按照where子句中指定的结果对此进行排序.
例如,我的where子句指出:
WHERE RESULTS_I_AM_SEARCHING_FOR IN
ITEM 1
ITEM 2
ITEM 3
Run Code Online (Sandbox Code Playgroud)
我原以为第1项,第2项和第3项的结果将按照在哪里指定的顺序进行,但事实并非如此.有没有人知道在没有指定时它将它们排序的顺序是什么?
谢谢,对不起真正的基本问题!
达蒙
我试图在java中学习比较器,我在网上找到了这个很好的例子,我的问题是如何更改这些代码,以便按年龄和降序排列宠物名称,以便最老的是第一个,最小的是最后一个?
class Dog implements Comparator<Dog>, Comparable<Dog>{
private String name;
private int age;
Dog(){
}
Dog(String n, int a){
name = n;
age = a;
}
public String getDogName(){
return name;
}
public int getDogAge(){
return age;
}
// Overriding the compareTo method
public int compareTo(Dog d){
return (this.name).compareTo(d.name);
}
// Overriding the compare method to sort the age
public int compare(Dog d, Dog d1){
return d.age - d1.age;
}
}
public class Example{
public static void main(String args[]){
// Takes …Run Code Online (Sandbox Code Playgroud) 正如标题所述:
我有一个选择查询,我试图"按顺序"包含数字的字段,事实是这些数字实际上是以0开头的字符串,所以"order by"就是这样做...
...
10
11
12
01
02
03
...
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?
编辑:如果我这样做:"... ORDER BY(字段+ 1)"我可以解决这个问题,因为不知何故,字符串在内部被转换为整数.这是一种像C's atoi一样"正式"转换它的方法吗?
有一个字段'noticeBy'枚举('email','mobile','all','auto','nothing')NOT NULL DEFAULT'auto'.因为已知ENUM字段的排序相对于其索引执行.但是,如何通过其价值观进行排序?
sql-order-by ×10
sql ×7
mysql ×4
c# ×2
linq ×2
sql-server ×2
sqlite ×2
.net ×1
android ×1
asp.net-mvc ×1
comparator ×1
enums ×1
java ×1
limit ×1
linq-to-sql ×1
numeric ×1
string ×1
t-sql ×1
union ×1
vb.net ×1