match (s:Product {type:'Phone'})-[r]->(o:Attributes) where exists(o.color) return s.name, o.color
æ¤æŸ¥è¯¢è¿”回æ¯ä¸ªäº§å“å称åŠå…¶â€œé¢œè‰²â€å±žæ€§ã€‚在这ç§æƒ…况下,将åå¤æ˜¾ç¤ºè®¸å¤šé‡å¤çš„产å“和颜色。相å,我想è¦è¿”回所有“颜色â€è€Œä¸é‡å¤ã€‚例如,在结果集ä¸ï¼Œå¯èƒ½æœ‰100个产å“,但åªæœ‰5ç§ä¸åŒçš„颜色。我想åªè¿”回5ç§ä¸åŒçš„颜色。
如何实现?是å¦ä»ç„¶å¯ä»¥å°†s.name和独特颜色一起返回?如果没有,åªéœ€è¿”回独特的颜色å³å¯ã€‚
编辑: 这似乎有效:
return collect(distinct(o.color)) limit 5
它返回唯一的“颜色â€ï¼Œä½†â€œé™åˆ¶5â€ä¸èµ·ä½œç”¨ã€‚它返回所有独特的颜色。
ç”案 0 :(得分:1)
LIMIT
åå¥é™åˆ¶è¿”回记录的数é‡ã€‚您的第二个查询返回å•ä¸ªè®°å½•ï¼ˆç”±æ‰€æœ‰ä¸åŒé¢œè‰²çš„å•ä¸ªé›†åˆç»„æˆï¼‰ã€‚ LIMIT
åå¥å¯¹è¯¥é›†åˆä¸çš„项目数没有影å“。
最多获得5ç§ä¸Žï¼†ï¼ƒ34; Phone"相关的独特颜色。 Product
(sï¼‰ï¼Œä½ å¯ä»¥è¿™æ ·åšï¼š
MATCH (:Product {type:'Phone'})-->(o:Attributes)
WHERE EXISTS(o.color)
RETURN DISTINCT o.color AS color
LIMIT 5;
æ¤æŸ¥è¯¢å°†ä¸ºæ¯ç§å”¯ä¸€é¢œè‰²è¿”回一æ¡è®°å½•ã€‚è¦èŽ·å¾—所有与" Phone"相关的独特颜色。 Product
(s),åªéœ€åˆ 除LIMIT
æ¡æ¬¾ã€‚
如果您想获得最多5ç§ç‹¬ç‰¹é¢œè‰²çš„å•ä¸€é›†åˆï¼Œæ‚¨å¯ä»¥è¿™æ ·åšï¼š
MATCH (:Product {type:'Phone'})-->(o:Attributes)
WHERE EXISTS(o.color)
WITH DISTINCT o.color AS color
LIMIT 5
RETURN COLLECT(color) AS colors;
[UPDATE]
按频率é™åºèŽ·å¾—å‰5ç§é¢œè‰²ï¼š
MATCH (:Product {type:'Phone'})-->(o:Attributes)
WHERE EXISTS(o.color)
WITH o.color AS color, COUNT(*) AS colorCount
ORDER BY colorCount DESC
RETURN color
LIMIT 5;
请注æ„,ä¸éœ€è¦DISTINCT
ï¼Œå› ä¸ºWITH
åå¥ä½¿ç”¨aggregating function(COUNT
)color
作为分组键。这会导致WITH
åå¥çš„输出为具有ä¸åŒcolor
值的记录。