AlaSQL 可以将 DISTINCT 与 SEARCH 一起使用吗
AlaSQL can you use DISTINCT with SEARCH
假设我有一个如下所示的数组:
var data = [{
"categories": [{
"categoryName": "belt",
"categoryValue": "white"
}, {"categoryName": "level", "categoryValue": "Beginner"}, {
"categoryName": "type",
"categoryValue": "technique"
}], "id": 1, "skillName": "Beginner 1", "skips": 0, "weight": 1
}, {
"categories": [{"categoryName": "belt", "categoryValue": "white"}, {
"categoryName": "level",
"categoryValue": "Beginner"
}, {"categoryName": "type", "categoryValue": "technique"}],
"id": 2,
"skillName": "Beginner 2",
"skips": 0,
"weight": 1
}, {
"categories": [{"categoryName": "belt", "categoryValue": "white"}, {
"categoryName": "level",
"categoryValue": "Beginner"
}, {"categoryName": "type", "categoryValue": "technique"}],
"id": 3,
"skillName": "Beginner 3",
"skips": 0,
"weight": 1
}, {
"categories": [{"categoryName": "belt", "categoryValue": "white"}, {
"categoryName": "level",
"categoryValue": "Beginner"
}, {"categoryName": "type", "categoryValue": "technique"}],
"id": 4,
"skillName": "Beginner 4",
"skips": 0,
"weight": 1
}, {
"categories": [{"categoryName": "belt", "categoryValue": "white"}, {
"categoryName": "level",
"categoryValue": "Beginner"
}, {"categoryName": "type", "categoryValue": "technique"}],
"id": 5,
"skillName": "Beginner 5",
"skips": 0,
"weight": 1
},
...
{
"categories": [{"categoryName": "belt", "categoryValue": "orange"}, {
"categoryName": "level",
"categoryValue": "Intermediate"
}, {"categoryName": "type", "categoryValue": "technique"}],
"id": 13,
"skillName": "Intermediate 3",
"skips": 0,
"weight": 1
}, {
"categories": [{"categoryName": "belt", "categoryValue": "orange"}, {
"categoryName": "level",
"categoryValue": "Intermediate"
}, {"categoryName": "type", "categoryValue": "technique"}],
"id": 14,
"skillName": "Intermediate 4",
"skips": 0,
"weight": 1
}, {
"categories": [{"categoryName": "belt", "categoryValue": "orange"}, {
"categoryName": "level",
"categoryValue": "Intermediate"
}, {"categoryName": "type", "categoryValue": "technique"}],
"id": 15,
"skillName": "Intermediate 5",
"skips": 0,
"weight": 1
}, {
"categories": [{"categoryName": "belt", "categoryValue": "purple"}, {
"categoryName": "level",
"categoryValue": "Intermediate"
}, {"categoryName": "type", "categoryValue": "technique"}],
"id": 16,
"skillName": "Intermediate 6",
"skips": 0,
"weight": 1
}
...
]
假设我们要查询这个,比如:
alasql('SEARCH /categories/categoryValue WHERE(categoryName="belt") FROM ?', [data]);
这可能会给你这样的东西:
['white', 'white', 'white',...'orange', 'orange',...'purple'...]
我想要的是:
['white', 'orange', 'purple']
有什么方法可以在查询端执行此操作,还是我需要在它之后过滤它以获取唯一值returns?
假设我有一个如下所示的数组:
var data = [{ "categories": [{ "categoryName": "belt", "categoryValue": "white" }, {"categoryName": "level", "categoryValue": "Beginner"}, { "categoryName": "type", "categoryValue": "technique" }], "id": 1, "skillName": "Beginner 1", "skips": 0, "weight": 1 }, { "categories": [{"categoryName": "belt", "categoryValue": "white"}, { "categoryName": "level", "categoryValue": "Beginner" }, {"categoryName": "type", "categoryValue": "technique"}], "id": 2, "skillName": "Beginner 2", "skips": 0, "weight": 1 }, { "categories": [{"categoryName": "belt", "categoryValue": "white"}, { "categoryName": "level", "categoryValue": "Beginner" }, {"categoryName": "type", "categoryValue": "technique"}], "id": 3, "skillName": "Beginner 3", "skips": 0, "weight": 1 }, { "categories": [{"categoryName": "belt", "categoryValue": "white"}, { "categoryName": "level", "categoryValue": "Beginner" }, {"categoryName": "type", "categoryValue": "technique"}], "id": 4, "skillName": "Beginner 4", "skips": 0, "weight": 1 }, { "categories": [{"categoryName": "belt", "categoryValue": "white"}, { "categoryName": "level", "categoryValue": "Beginner" }, {"categoryName": "type", "categoryValue": "technique"}], "id": 5, "skillName": "Beginner 5", "skips": 0, "weight": 1 }, ... { "categories": [{"categoryName": "belt", "categoryValue": "orange"}, { "categoryName": "level", "categoryValue": "Intermediate" }, {"categoryName": "type", "categoryValue": "technique"}], "id": 13, "skillName": "Intermediate 3", "skips": 0, "weight": 1 }, { "categories": [{"categoryName": "belt", "categoryValue": "orange"}, { "categoryName": "level", "categoryValue": "Intermediate" }, {"categoryName": "type", "categoryValue": "technique"}], "id": 14, "skillName": "Intermediate 4", "skips": 0, "weight": 1 }, { "categories": [{"categoryName": "belt", "categoryValue": "orange"}, { "categoryName": "level", "categoryValue": "Intermediate" }, {"categoryName": "type", "categoryValue": "technique"}], "id": 15, "skillName": "Intermediate 5", "skips": 0, "weight": 1 }, { "categories": [{"categoryName": "belt", "categoryValue": "purple"}, { "categoryName": "level", "categoryValue": "Intermediate" }, {"categoryName": "type", "categoryValue": "technique"}], "id": 16, "skillName": "Intermediate 6", "skips": 0, "weight": 1 } ... ]
假设我们要查询这个,比如:
alasql('SEARCH /categories/categoryValue WHERE(categoryName="belt") FROM ?', [data]);
这可能会给你这样的东西:
['white', 'white', 'white',...'orange', 'orange',...'purple'...]
我想要的是:
['white', 'orange', 'purple']
有什么方法可以在查询端执行此操作,还是我需要在它之后过滤它以获取唯一值returns?