Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQLite如何为所有情况随机选择最小值?_Sqlite - Fatal编程技术网

SQLite如何为所有情况随机选择最小值?

SQLite如何为所有情况随机选择最小值?,sqlite,Sqlite,我想从列号中可以存在多个最小值的表中随机选择一行。例如,我有一个包含标题、编号和类别的表格,如下所示: 蒂努卡 A 0 c7 W 0 c7 Y0C7 c0c9 H3C9 此查询将返回一个随机行,其中数字等于0,Ca等于c7: 从表中选择*,其中Ca='c7'和Nu=按随机限值1从表顺序中选择minNu 但当该表包含以下内容时: 蒂努卡 A 3 c7 W 1 c7 Y 5 c7 c0c9 H3C9 上面的查询没有返回任何内容。我希望返回w1c7行。我做错了什么?无论Ti是什么,您的子查询看起来总是

我想从列号中可以存在多个最小值的表中随机选择一行。例如,我有一个包含标题、编号和类别的表格,如下所示:

蒂努卡

A 0 c7

W 0 c7

Y0C7

c0c9

H3C9

此查询将返回一个随机行,其中数字等于0,Ca等于c7: 从表中选择*,其中Ca='c7'和Nu=按随机限值1从表顺序中选择minNu

但当该表包含以下内容时:

蒂努卡

A 3 c7

W 1 c7

Y 5 c7

c0c9

H3C9


上面的查询没有返回任何内容。我希望返回w1c7行。我做错了什么?

无论Ti是什么,您的子查询看起来总是匹配Nu=0,并且由于Nu=0和Ca=c7之间没有行,因此它不会返回任何内容。您可能需要以下内容:

SELECT * FROM [Table] x
WHERE Ca = 'c7' And Nu = (SELECT min(Nu) FROM [Table] where x.Ca = Ca)
ORDER BY RANDOM() LIMIT 1;

如果您添加另一行,其中包含Ti=Z、Nu=1、Ca=c7,那么您应该会在返回的行中看到Ti值在W和Z之间翻转。

谢谢,这个答案非常正确!