作爲向成千上萬行的向下搜索文本搜索的一部分,其中許多行包含列A中的相同數據,我想知道何時全部列A中sqlite結果集的行數相同。例如。如果搜索項是'ai',並且列A中的'in pain'中的結果集中的所有行都執行此功能。SQLite/Javascript:如何知道列A中的所有值何時都是相同的
那麼我怎麼編程,無論是在sqlite或使用JavaScript的結果集問:如果列A中的所有行是相同的?
這也可能是一些簡單的(希望如此),但它只是今天不來找我......
謝謝!
作爲向成千上萬行的向下搜索文本搜索的一部分,其中許多行包含列A中的相同數據,我想知道何時全部列A中sqlite結果集的行數相同。例如。如果搜索項是'ai',並且列A中的'in pain'中的結果集中的所有行都執行此功能。SQLite/Javascript:如何知道列A中的所有值何時都是相同的
那麼我怎麼編程,無論是在sqlite或使用JavaScript的結果集問:如果列A中的所有行是相同的?
這也可能是一些簡單的(希望如此),但它只是今天不來找我......
謝謝!
在db調用成功函數中使用Javascript
var detailsarr=[];
if (results.rows && results.rows.length) {
for (var i = 0; i < results.rows.length; i++) {
var details=results.rows.item(i).details;
if(detailsarr.toString().indexOf(details)===-1){detailsarr.push('"'+details+'"');}
}
detailsarr = '['+detailsarr+']';
var detailsdata=JSON.parse(detailsarr);
if(detailsdata[1]){THEN ALL ROWS ARE NOT IDENTICAL}
}
SELECT columnA, count(*)
FROM MyTable
WHERE myField like '%AI%'
GROUP BY columnA
可能不會是最快的,因爲它的兩側做了......%以下是SQLLite article
你可以使用AI正則表達式搜索上的字段,它很可能會更快
更新,但我仍然不認爲我完全理解這個問題的樣本數據將有助於..所以
COLUMNA 在巢穴疼痛 疼痛在巢穴你想看到
in pain 2
in the lair 2
或你想看到 no records found
(因爲所有在columnA包含AI不匹配的值?)
做---也許這就是你追求的...
select count(*) mcount from (
SELECT columnA, count(*)
FROM MyTable
WHERE columnA like '%AI%'
GROUP BY columnA) innerResult
如果mcount> 1,則columnA有超過1組的值匹配 '%AI%'
這將是昂貴的SQL做:
SELECT ColumnA, (SELECT COUNT(*) FROM YourTable WHERE ColumnA LIKE '%ai%' AND ColumnA <> outer.ColumnA) AS OtherCount
FROM YourTable AS outer WHERE ColumnA LIKE '%ai%';
在JavaScript中,你只遍歷保持A列值的字典行,當你在字典裏有兩把鑰匙,你知道,不是所有的結果都是一樣的。
謝謝拉里,你可以顯示javascript檢查字典(dictionary = dictionary + newrow;)for> = 2鍵嗎? – 2012-04-17 20:15:57
即選擇符合%AI%的行,但它並沒有告訴我,如果在A列中的所有行都是一樣的「中痛苦「,也許在那裏有一排'在巢穴裏'。我需要知道列A中所有行包含相同的東西的時間。 – 2012-04-17 17:04:53
@ K'shin更新了回覆,但是如果您想查看所有ai和他們的計數,或者沒有找到記錄或者需要什麼指示? – xQbert 2012-04-17 17:22:09
我期望有多行包含「ai」,問題是所有這些行在列A中的值是否相同?對於這個問題,True或False就足夠了,但要查看每個不同行的多少記錄對於其他事情會很方便;-) – 2012-04-17 20:28:47