2
我想按範圍計算我的密碼查詢的結果。按範圍計算密碼查詢的結果
下面是一個例子:比方說,我有書有出版年份名單,我想可以算的書籍配套我1970年和1979年,1980年和1989年間出版的暗號查詢數量, ......,2010年和2019
我想按範圍計算我的密碼查詢的結果。按範圍計算密碼查詢的結果
下面是一個例子:比方說,我有書有出版年份名單,我想可以算的書籍配套我1970年和1979年,1980年和1989年間出版的暗號查詢數量, ......,2010年和2019
更多信息如果你想做到這一切在一個查詢中我會做這樣的:
MATCH (b:Book)
RETURN SUM(CASE WHEN 1970 <= b.published < 1980 THEN 1 ELSE 0 END) AS `70s`,
SUM(CASE WHEN 1980 <= b.published < 1990 THEN 1 ELSE 0 END) AS `80s`,
SUM(CASE WHEN 1990 <= b.published < 2000 THEN 1 ELSE 0 END) AS `90s`,
SUM(CASE WHEN 2000 <= b.published < 2010 THEN 1 ELSE 0 END) AS `00s`,
SUM(CASE WHEN 2010 <= b.published < 2020 THEN 1 ELSE 0 END) AS `10s`
雖然我不認爲這會利用b.published
上的任何指數。這種類型的範圍查詢也只適用於Neo4j 2.3。
如果你有Book
節點published_year
屬性,則查詢會是這個樣子:
MATCH (b:Book)
WHERE b.published_year > 1969 AND b.published_year < 1980
WITH count(b) AS num
RETURN num;
的幾個注意事項
published_year
屬性是一個整數 - 在創建屬性時使用Cypher toInt()
函數。published_year
屬性創建一個索引來提高效率查找:CREATE INDEX ON :Book(published_year)
索引上here