# zrange

### 1. 基本語法

#### zrang&#x65;**(`key`, `start`,`stop`, `["WITHSCORES"]`,`callback`)**&#x20;

與[**zrevrange**](https://aiii-mike.gitbook.io/redis/command/zset/zrevrange)相反，分數先「由小到大」排序，再根&#x64DA;**`start`**&#x4EE5;&#x53CA;**`stop`**&#x7BE9;選索引範圍，並回傳有序集合中的成員\[分數]。

### **2. 範例**

**(1) 按分數「由小到大」取得集合成員**

{% tabs %}
{% tab title="TypeScript" %}
```typescript
client.del('order:set');

client.zadd('order:set', 3, 'A');
client.zadd('order:set', 2, 'B');
client.zadd('order:set', 1, 'C');

client.zrange('order:set', 0, -1, redis.print);
```
{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Output-TS" %}
```
Reply: C,B,A
```
{% endtab %}
{% endtabs %}

**(2) 取得排序成員及對應分數**

{% tabs %}
{% tab title="TypeScript" %}
```typescript
client.zadd('order:set', 3, 'A');
client.zadd('order:set', 2, 'B');
client.zadd('order:set', 1, 'C');

client.zrange('order:set', 0, -1, "WITHSCORES", (err, obj) => {
    console.log(obj);
});
```
{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Output-TS" %}
```
[ 'C', '1', 'B', '2', 'A', '3' ]
```
{% endtab %}
{% endtabs %}

**(3) 若分數相同，則依**[**字典序(lexicographic ordering)**](https://zh.wikipedia.org/wiki/%E5%AD%97%E5%85%B8%E5%BA%8F)**排序成員**

{% tabs %}
{% tab title="TypeScript" %}
```typescript
client.del('order:set');

client.zadd('order:set', 1, '1');
client.zadd('order:set', 1, '2');
client.zadd('order:set', 1, '12');

client.zrange('order:set', 0, -1, redis.print);
```
{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Output-TS" %}
```
Reply: 1,12,2
```
{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="TypeScript" %}
```typescript
client.del('order:set');

client.zadd('order:set', 1, 'B');
client.zadd('order:set', 1, 'A');
client.zadd('order:set', 1, '2');
client.zadd('order:set', 1, '1');
client.zadd('order:set', 1, '二');
client.zadd('order:set', 1, '一');
client.zadd('order:set', 1, '@');
client.zadd('order:set', 1, '!');

client.zrange('order:set', 0, -1, redis.print);
```
{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Output-TS" %}
```
Reply: !,1,2,@,A,B,一,二
```
{% endtab %}
{% endtabs %}
